home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / STRINGS / TS_STR / TS_STR.DOC < prev    next >
Text File  |  1989-12-25  |  20KB  |  442 lines

  1.     -----------------------------------------------------------------------
  2.                    T U R B O   S T U F F   v 0 2 . 0 1 . 0 0
  3.     -----------------------------------------------------------------------
  4.     
  5.     
  6.     
  7.     
  8.     
  9.     
  10.     
  11.     
  12.     
  13.     
  14.     
  15.     
  16.     
  17.     
  18.     \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  19.     \\///////////////////////////////////////////////////////////////////\\
  20.     \\/////////////////      //  //  //      //      //      ////////////\\
  21.     \\//////////////////  ////  //  //  //  //  //  //  //  /////////////\\
  22.     \\/////////////////  ////  //  //      //     ///  //  //////////////\\
  23.     \\////////////////  ////  //  //  /  ///  //  //  //  ///////////////\\
  24.     \\///////////////  ////      //  //  //      //      ////////////////\\
  25.     \\///////////////////////////////////////////////////////////////////\\
  26.     \\///////////////////////////////////////////////////////////////////\\
  27.     \\/////////////////      //      //  //  //      //      ////////////\\
  28.     \\////////////////  ////////  ////  //  //  //////  /////////////////\\
  29.     \\///////////////      ////  ////  //  //     ///     ///////////////\\
  30.     \\//////////////////  ////  ////  //  //  //////  ///////////////////\\
  31.     \\/////////////      ////  ////      //  //////  ////////////////////\\
  32.     \\///////////////////////////////////////////////////////////////////\\
  33.     \\///////////////////////////////////////////////////////////////////\\
  34.     \\////////////      //      //////////      //      //      /////////\\
  35.     \\/////////////  ////  //////////////  ////////  ////  //  //////////\\
  36.     \\////////////  ////      //////////      ////  ////      ///////////\\
  37.     \\///////////  ////////  //////////////  ////  ////  /  /////////////\\
  38.     \\//////////  ////      //      //      ////  ////  //  /////////////\\
  39.     \\///////////////////////////////////////////////////////////////////\\
  40.     \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  41.     
  42.                           TS_STR Module Documentation
  43.     
  44.     
  45.     
  46.     
  47.     
  48.     
  49.     
  50.     
  51.     
  52.     
  53.  
  54.     
  55.                            Shenandoah Valley Software
  56.                                  P.O. Box 1456
  57.                               Winchester, Va 22601
  58.                                   703-665-6491
  59.     
  60.     -----------------------------------------------------------------------
  61.     (C) Copyright 1989 by Shenandoah Valley Software -- All Rights Reserved
  62.     -----------------------------------------------------------------------
  63.  
  64.     TS_Str                 TURBO STUFF DOCUMENTATION               Page:  1
  65.     _______________________________________________________________________
  66.       
  67.     
  68.                        T A B L E   O F   C O N T E N T S
  69.                               TS_STR Documentation
  70.     
  71.     
  72.       Introduction ...................................................  2
  73.       
  74.       Included Files .................................................  2
  75.       
  76.       Support ........................................................  2
  77.       
  78.       Registration Information .......................................  3
  79.       
  80.       System Requirements ............................................  3
  81.       
  82.       License Agreement ..............................................  4
  83.       
  84.       License Statement...............................................  4
  85.       
  86.       Restricted Permission to Copy ..................................  4
  87.       
  88.       Limited Warranty ...............................................  4
  89.       
  90.       Governing Law ..................................................  5
  91.       
  92.       Site License ...................................................  5
  93.       
  94.       Special Distribution License ...................................  5
  95.     
  96.       Customization of Software ......................................  5
  97.       
  98.       Source Code Availability .......................................  5
  99.       
  100.       Using Turbo Stuff ..............................................  6
  101.       
  102.       Using Individual Routines ......................................  6
  103.       
  104.       Recompiling the Turbo Stuff Unit ...............................  7
  105.     
  106.       Routine Summary ................................................  7
  107.     
  108.     
  109.     
  110.     
  111.     
  112.  
  113.     TS_Str                 TURBO STUFF DOCUMENTATION               Page:  2
  114.     _______________________________________________________________________
  115.     
  116.                                   INTRODUCTION
  117.  
  118.     Turbo  Stuff is a set of routines being developed in assembler for  use 
  119.     with Turbo Pascal. Assembler is being used for optimum speed and coding 
  120.     size.  Several  modules are being developed with  this being the  first 
  121.     major  release.  This  module,  TS_STR,  contains forty string  related 
  122.     routines.  Other modules being planned include  an extensive  Time/Date 
  123.     module,  fast video routines,  system configuration,  extended keyboard 
  124.     and mouse i/o,  and several others.  Once all planned modules have been 
  125.     completed  they  will  be combined into one large package  to  be  made 
  126.     available as Shareware. 
  127.  
  128.     It  should  be noted at this time that registration of any  one  module 
  129.     automatically gets you all the other modules as they are released.  The 
  130.     only  additional  future charge will be for the  printed  documentation 
  131.     should registered user wish to purchase it. 
  132.  
  133.     The completed Turbo Stuff package will come in two flavors.  The  first 
  134.     is the shareware version,  while 100%  functional,  it will not include 
  135.     source  code.  Only the source for the TPU will be included as will all 
  136.     routines in OBJ format. The second flavor will be commercial and is the 
  137.     version  that all registered users will receive.  It will  contain  all 
  138.     source  code  as well as a few "extra"  modules not  available  in  the 
  139.     shareware version.  Registration at this time is $40.00  and for a more 
  140.     detailed description of benefits, please refer to that section below. 
  141.  
  142.  
  143.                                  INCLUDED FILES
  144.  
  145.     This  archive,  either ZIP or ARC format,  should contain the following 
  146.     files. If any of the below files are missing, the entire non-registered 
  147.     module is available for $5.00. (see the TS_STR.REG file). 
  148.  
  149.  
  150.         TS_DEM.PAS  -  Demonstration program for this module
  151.         TS_OBJ.ARC  -  Archive containing the OBJ files for the various
  152.                        routines. (Note: this may be a ZIP file)
  153.         TS_STR.BUG  -  Bug reporter
  154.         TS_STR.DOC  -  This documentation file
  155.         TS_STR.PAS  -  Source code for the TPU file
  156.         TS_STR.REG  -  Registration mailer
  157.         TS_STR.REF  -  Routine reference documentation
  158.         TS_STR.TPU  -  Turbo Pascal v5.5 Unit
  159.  
  160.  
  161.                                     SUPPORT
  162.  
  163.     For questions, comments (both good and bad are desired), or suggestions 
  164.     use any of the below listed methods:
  165.  
  166.     1.  Via CompuServe [71337,1116]
  167.     2.  Via GEnie [J.COULTER]
  168.     3.  Via US Mail - SVS, P.O.Box 1456, Winchester, VA, 22601
  169.     4.  If you  really need to reach me (Jonathan Coulter)  via phone,  you 
  170.         can  do so after 6:00pm eastern time at 703-665-6491.  (no  collect 
  171.         calls please) 
  172.  
  173.     TS_Str                 TURBO STUFF DOCUMENTATION               Page:  2
  174.     _______________________________________________________________________
  175.     
  176.                             REGISTRATION INFORMATION
  177.  
  178.     Registration of Turbo Stuff is $40 at this time. Once the final package 
  179.     has been completed,  this  price may  (not likely) go up.  Registration 
  180.     will grant you the following benefits:
  181.  
  182.     1. You will receive all completed modules to date.
  183.  
  184.     2. You will receive all new modules automatically,  and free of charge, 
  185.        as they are completed. 
  186.     
  187.     3. You  will receive the final Turbo Stuff package once completed.  The 
  188.        target date is Spring 1990. 
  189.     
  190.     4. You will get notification of new products released and in most cases 
  191.        special discounts toward registration or purchase.
  192.     
  193.     5. You will help support the  continued development and improvement  of 
  194.        both the Turbo Stuff package and future Shareware products.  Without 
  195.        such support inexpesive,  professional quality software would not be 
  196.        available. 
  197.  
  198.     
  199.                ** To register, see the TS_STR.REG mailer file **
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.                               SYSTEM REQUIREMENTS
  208.  
  209.     Turbo Stuff requires Turbo Pascal v4.0,  5.0 or 5.5.  Hardware required 
  210.     is an IBM PC/XT/AT or 100% compatible. The TS_STR module will work with 
  211.     any video adapter. All routines work equally well with any printer make 
  212.     or brand. 
  213.  
  214.     TS_Str                 TURBO STUFF DOCUMENTATION               Page:  4
  215.     _______________________________________________________________________
  216.     
  217.                                LICENSE AGREEMENT 
  218.  
  219.     CAREFULLY READ THE FOLLOWING TERMS AND CONDITIONS.  IF YOU DO NOT AGREE 
  220.     WITH  THEM,   YOU  SHOULD PROMPTLY RETURN THE PACKAGE FOR A  REFUND  IF 
  221.     PURCHASED, OR AQUIRED BY OTHER MEANS YOU SHOULD NOT MAKE USE OF IT. USE 
  222.     OF  PROGRAMS  DEVELOPED  BY SHENANDOAH VALLEY SOFTWARE  INDICATES  YOUR 
  223.     ACCEPTANCE OF THIS AGREEMENT. 
  224.  
  225.  
  226.                                LICENSE STATEMENT 
  227.  
  228.     This software is protected  by  United  States copyright law and inter-
  229.     national treaty provisions. 
  230.  
  231.  
  232.                          RESTRICTED PERMISSION TO COPY 
  233.  
  234.     The conditions under which you may copy ShareWare programs developed by 
  235.     SVS and their documentation are clearly outline below. 
  236.  
  237.     Individuals  are granted permission by SVS to freely copy  the  program 
  238.     for  their own use or for others to EVALUATE,  as long as no  price  or 
  239.     other  compensation  is  charged.  Printed manuals may  not  be  copied 
  240.     without the express written permission of SVS.  The program may only be 
  241.     copied and distributed under the following conditions: 
  242.  
  243.     1. No price or other compenstation may be charged. However, a distribu-
  244.        tion cost may be charged for the cost of the diskette,  shipping and 
  245.        handling, as long as this cost does not exceed $10 total. 
  246.     2. The program or disk-documentation may not be modified in any way and 
  247.        must always be distributed together. 
  248.     3. The program may not be sold as part of some other inclusive package. 
  249.     4. The program may not be "rented" to others. 
  250.     5. The printed User Manual may not be copied or reproduced in any way. 
  251.  
  252.  
  253.                                 LIMITED WARRANTY 
  254.  
  255.     WITH RESPECT TO THE PHYSICAL DISKETTE AND DOCUMENTATION AQUIRED THROUGH 
  256.     REGISTRATION,  SVS WARRANTS THE SAME TO BE FREE OF DEFECTS IN MATERIALS 
  257.     AND/OR  WORKMANSHIP FOR A PERIOD OF 90  DAYS FROM THE DATE OF PURCHASE. 
  258.     IN  THE EVENT OF NOTIFICATION WITHIN THE WARRANTY PERIOD OF DEFECTS  IN 
  259.     MATERIALS AND/OR WORKMANSHIP,  SVS WILL REPLACE THE DEFECTIVE DOCUMENT-
  260.     ATION  OR  DISKETTE.  THE REMEDY FOR BREACH OF THIS WARRANTY  SHALL  BE 
  261.     LIMITED  TO  REPLACEMENT  AND SHALL NOT ENCOMPASS  ANY  OTHER  DAMAGES, 
  262.     INCLUDING BUT NOT LIMITED TO LOSS OF PROFIT,  AND SPECIAL,  INCIDENTAL, 
  263.     CONSEQUENTIAL OR OTHER SIMILAR CLAIMS. 
  264.  
  265.     SVS  ESPECIALLY DISCLAIMS ALL OTHER WARRANTIES,  EXPRESSED OR  IMPLIED, 
  266.     INCLUDING  BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND 
  267.     FITNESS  FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL SVS BE LIABLE FOR 
  268.     ANY  LOSS OF PROFIT OR ANY OTHER DAMAGE,  INCLUDING BUT NOT LIMITED  TO 
  269.     SPECIAL,   INCIDENTAL,  CONSEQUENTIAL OR OTHER DAMAGES IN EXCESS OF THE 
  270.     REGISTRATION FEE UNDER THIS LICENSE AGREEMENT. 
  271.  
  272.     TS_Str                 TURBO STUFF DOCUMENTATION               Page:  5
  273.     _______________________________________________________________________
  274.     
  275.                                  GOVERNING LAW 
  276.  
  277.     This agreement shall be construed, interpreted and governed by the laws 
  278.     of the state of Virginia. 
  279.  
  280.                                   SITE LICENSE 
  281.  
  282.     This is a license for use of the software within your company,  and  is 
  283.     non-transferable.  This allows internal use and copying of the software 
  284.     by as many users/machines as contracted for.  An unlimited Site License 
  285.     is available which allows unlimited copying of the software or internal 
  286.     use  by your company.  Distribution,  repackaging,  or reselling of the 
  287.     software  to  third parties is forbidden.  For more information on  the 
  288.     availability  and pricing of a Site License write to Shenandoah  Valley 
  289.     Software. 
  290.  
  291.  
  292.                           SPECIAL DISTRIBUTION LICENSE 
  293.  
  294.     This  license  allows  distribution of  the  software  with  commercial 
  295.     software  that is manufactured by your company.  This license  is  non-
  296.     exclusive and non-transferable. For more information and a quote on the 
  297.     one time Distribution License fee,  write to Shenandoah Valley Software 
  298.     detailing  your software,  market,  pricing,  etc,  and the reason  for 
  299.     wanting to include our software with your product.  You will receive  a 
  300.     prompt reply. 
  301.  
  302.  
  303.                            CUSTOMIZATION OF SOFTWARE 
  304.  
  305.     Shenandoah  Valley Software will customize its software for your usage. 
  306.     Such  modification  will  be done for registered users  only  with  the 
  307.     additional  cost as quoted.  For more information,  detail the  modifi-
  308.     cation(s) you require and mail to Shenandoah Valley Software.  You will 
  309.     receive a prompt reply and quotation. 
  310.  
  311.  
  312.                             SOURCE CODE AVAILABILITY 
  313.  
  314.     With  the sole exception of software packages designed to aid in  prog-
  315.     ramming,   Shenandoah Valley Software will not release source code  for 
  316.     its products. For those utilities which aid in programming,  only users 
  317.     who register will receive source code. 
  318.  
  319.     TS_Str                 TURBO STUFF DOCUMENTATION               Page:  6
  320.     _______________________________________________________________________
  321.     
  322.                                USING TURBO STUFF
  323.  
  324.     If you are using Turbo Pascal v5.5  you need to follow these two steps. 
  325.     If  you  are  not using version 5.5  see the  section  below  regarding 
  326.     recompiling Turbo Stuff. 
  327.  
  328.       1. Place TS_STR in your program's USES line
  329.  
  330.       2. Add at the top of your program the {$V-} compiler directive
  331.  
  332.     For example:
  333.  
  334.         PROGRAM MyProgram; {$V-}
  335.  
  336.         USES Crt,Dos,TS_Str;
  337.  
  338.         BEGIN
  339.         END.
  340.  
  341.  
  342.                            USING INDIVIDUAL ROUTINES
  343.  
  344.     One  problem  in using assembler routines in Turbo Pascal is  that  all 
  345.     procedures and/or functions contained in a single OBJ file are compiled 
  346.     into your program whether you use all of the procedures or not.  To get 
  347.     around  this SVS has compiled each routine seperately.  This means that 
  348.     only those routines your program uses will be linked. 
  349.  
  350.     Another  advantage to this seperate OBJ file method is that even though 
  351.     Turbo  only links those routines used,  it still includes all the info-
  352.     rmation  contained in the INTERFACE section of the unit.  Although  the 
  353.     amount of space used is small, there is none the less extra space used. 
  354.  
  355.     Included in the archive file TS_OBJ.ARC (or .ZIP)  is the .OBJ file for 
  356.     each routine in the module. You can link this into your program direct-
  357.     ly without using the unit. Below is an example using the DUP function. 
  358.  
  359.         {$F+}
  360.         FUNCTION Dup ( Ch:char; Len:byte ) : string; external;
  361.         {$L UPPER}
  362.         {$F-}
  363.  
  364.     The {$F+} ... {$F-} is  required to turn FAR procedure on and off.  The 
  365.     next line defines just the header of the routine.  You can find this in 
  366.     the TS_STR.REF file. For functions, use the following information found 
  367.     in that file. The two items within quotes are the name of the fields in 
  368.     the REF file that hold the information, just copy it exactly. 
  369.  
  370.                FUNCTION "Declaration" : "Result Type"; external;
  371.  
  372.     For procedures (procedures have no "Result Type"), use the following:
  373.  
  374.                        PROCEDURE "Declaration"; external;
  375.  
  376.     Next is the {$L} directive. This specifies the name of the .OBJ file to 
  377.     link  with  the program.  The name of the file can be found in the  REF 
  378.     file as well under the field "Source File". 
  379.  
  380.     TS_Str                 TURBO STUFF DOCUMENTATION               Page:  7
  381.     _______________________________________________________________________
  382.     
  383.                         RECOMPILING THE TURBO STUFF UNIT
  384.  
  385.     Is you do not have version 5.5  of Turbo Pascal,  you will need to  re-
  386.     compile  the unit under your version.  To do so you will need to  unarc 
  387.     (or  unzip)  the TS_OBJ file in the  same directory as  the  TS_STR.PAS 
  388.     file. You can then recompile the unit with Turbo's TPC utility thusly: 
  389.  
  390.                                    TPC TS_STR
  391.  
  392.     If  you don't have the TPC utility handy,  you can do the same by  just 
  393.     loading the TS_STR.PAS file with the Turbo Editor and compile to disk. 
  394.  
  395.  
  396.                                 ROUTINE SUMMARY
  397.  
  398.     Ascii      - converts an Asciiz string back to Turbo standard format
  399.     Asciiz     - converts a Turbo standard string to a null terminated one
  400.     ATrim      - trims leading/trailing characters from a string
  401.     Center     - centers a string within a field 
  402.     Change     - changes every occurance of a character with another
  403.     Compare    - compares two strings with case option
  404.     DelCh      - deletes every occurance of a character within a string
  405.     Decrypt    - decrypts a string formerly encryted with Encrypt
  406.     Dup        - duplicates a character a specific number of times
  407.     DupStr     - duplicates a string a up to a specific length
  408.     Encrypt    - encrypts a string to make it unreadable
  409.     FirstLower - returns the first lowercase character in a string
  410.     FirstUpper - returns the first uppercase character in a string
  411.     Format     - formats a string using a specific mask
  412.     IIF        - immediate If function for a short-cut IF..THEN..ELSE
  413.     IsAplha    - checks a string/char for only ABCs
  414.     IsLower    - checks a string/char for only lowercase ABCs
  415.     IsUpper    - checks a string/char for only uppercase ABCs
  416.     LFill      - pads the left of a string with a specific character
  417.     Left       - returns only the leftmost portion of a string
  418.     LJust      - left justifies a string in a field of spaces
  419.     LoCase     - returns a lowercase character 
  420.     Lower      - converts a string to all lowercase characters
  421.     LTrim      - trims leading characters from a string
  422.     Number     - formats a number with commas and decimals
  423.     Proper     - converts the first letter of a word to upper, rest lower
  424.     RFill      - pads the right of a string with a specific character
  425.     Right      - returns only the rightmost portion of a string
  426.     RJust      - right justifies a string in a field of spaces
  427.     Roman      - returns a roman numerial for the integer passed
  428.     RTrim      - trims trailing characters from a string
  429.     Same       - compares two strings with wildcards
  430.     SoundDif   - returns a difference code between two soundex codes  
  431.     SoundEx    - returns a four digit "sound" code for a string
  432.     Space      - returns a string of spaces of a specific length
  433.     Stuff      - "stuffs" a string into another with optional deletion
  434.     Swap       - swaps the contents of two strings
  435.     Trim       - trims leading/trailing spaces from a string
  436.     Upper      - converts a string to all uppercase characters
  437.     Words      - returns the number of words in a string
  438.  
  439.  
  440.             ** FOR MORE EXACT INFORMATION SEE THE TS_STR.REF FILE **
  441.  
  442.